import { defineStore } from 'pinia'

export const useSearchStore = defineStore('search', {
  state: () => ({
    historyList: [] as string[],
  }),
  actions: {
    // 初始化历史记录
    initHistory() {
      const storedHistory = uni.getStorageSync('searchHistory')
      if (storedHistory) {
        this.historyList = JSON.parse(storedHistory)
      }
    },
    // 保存搜索历史
    saveSearchHistory(keyword: string) {
      // 如果历史记录中已经存在该关键词，则先移除
      const index = this.historyList.indexOf(keyword)
      if (index !== -1) {
        this.historyList.splice(index, 1)
      }

      // 将新的关键词添加到历史记录的开头
      this.historyList.unshift(keyword)

      // 限制历史记录的数量，最多保存5条
      if (this.historyList.length > 5) {
        this.historyList.pop()
      }

      // 将更新后的历史记录保存到本地存储
      uni.setStorageSync('searchHistory', JSON.stringify(this.historyList))
    },
  },
})
